Event processing is a difficult problem in distributed computing. Formally, an event is a notification of an occurrence in one part of a system to another part of the system. Events may be generated by several parts of a system and handled by several other components. Event processing is performed by the subsystem that decides which systems need to be notified of the event and in some cases, how they should act on the notification.
U.S. Pat. No. 5,469,562 “Durable atomic storage update manager” issued Nov. 21, 1995 provides a mechanism for fault-tolerant updating of a data store. The patent describes invoking independent program “agents” to perform work. The patent is incorporated herein by reference.
According the patent, a DASUM (Durable Atomic Storage Update Manager) provides an extensible framework assuring complex changes to persistent storage of data within a computer system, including a distributed computer system. During normal runtime, modifications to permanent storage are broken down and organized as a plurality of simpler transactions. These simpler transactions are accomplished atomically by executing associated agents within the computer program under execution. Each agent need only have the ability to complete its own process, and need not be able to deal with side effects from other transactions. Without needing to know what steps may be required, each agent supplies three agent-specific procedures that can be called during recovery from a fault. The DASUM provides seven services that, during normal transaction execution, can store information in a logger necessary for recovery from a fault. The recovery information stored in the logger can be used to replicate a dynamic tree-like fault tolerant update set that is maintained by the DASUM on an atomic basis. According to a second aspect of the invention, the DASUM provides recovery from the effects of incompletely executed transactions in the event of a fault. During fault recovery, the DASUM calls the agent specific procedures, as needed, using the recovery and recovery sequence information stored during normal transaction execution. The present invention advantageously permits separating the agents from the logger, simplifies logger design, and improves durability of the data to be persistently stored.
U.S. Pat. No. 6,192,354 “Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge” issued Feb. 2, 2001 and incorporated herein by reference provides a system for implicitly dispatching tasks to program agents based on selecting the best agent using predetermined criteria. The patent teaches that performance of a given computer task is optimized by utilizing a plurality of intelligent agents suited to perform the computer task but having varied degrees of domain knowledge. Based upon an objective criteria that may be determined for a given situation, one of the plurality of intelligent agents may be selected and dispatched to perform the task, thereby optimizing the performance of the computer task for a wide variety of situations.
An improved method for processing events is needed.